/**
 *Copyright (c) 2024 watereyes
 * safetymanagement is licensed under Mulan PubL v2.
 * You can use this software according to the terms and conditions of the Mulan
 * PubL v2.
 * You may obtain a copy of Mulan PubL v2 at:
 *          http://license.coscl.org.cn/MulanPubL-2.0
 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
 * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
 * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
 * See the Mulan PubL v2 for more details.
 */
package com.koron.hiddendanger.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.koron.common.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
@ApiModel(value = "隐患整改信息",description = "隐患整改信息实体类")
public class HiddenDangerRectification extends BaseEntity {

    @ApiModelProperty(name="hiddenDangerId",value = "隐患id",required = true)
    private String hiddenDangerId;

    @ApiModelProperty(name="solution",value = "整改方案")
    private String solution;

    @ApiModelProperty(name="rectifier",value = "整改负责人",required = true)
    private String rectifier;

    @ApiModelProperty(name="rectifierName",value = "整改负责人名称",required = true)
    private String rectifierName;

    @ApiModelProperty(name="reviewer",value = "整改复核人")
    private String reviewer;

    @ApiModelProperty(name="reviewerName",value = "整改复核人名称")
    private String reviewerName;

    @ApiModelProperty(name="deadline",value = "整改期限,填写整改结束的日期",required = true)
    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date deadline;

    @ApiModelProperty(name="rectificationResult",value = "整改结果")
    private String rectificationResult;

    @ApiModelProperty(name="rectificationAttachment",value = "整改后的照片附件")
    private String rectificationAttachment;

    @ApiModelProperty(name="rectificationAttachment",value = "整改后的文件附件")
    private String rectificationFileAttachment;

    @ApiModelProperty(name="rectificationAttachment",value = "整改后的文件预览")
    private String rectificationFilePreviewAttachment;

    @ApiModelProperty(name="supervisionUnitSignature",value = "监理单位签字附件")
    private String supervisionUnitSignature;

    @ApiModelProperty(name="completeTime",value = "整改实际完成日期")
    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date completeTime;

    @ApiModelProperty(name="reviewResult",value = "复核结果")
    private String reviewResult;

    @ApiModelProperty(name="reviewTime",value = "复核日期")
    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date reviewTime;

    @ApiModelProperty(name="rectificationState",value = "整改状态id，对应指标库隐患库的状态",required = true)
    private String rectificationState;

    @ApiModelProperty(name="rectificationState",value = "整改状态名称，未整改，2整改中，3已整改，4整改驳回",required = true)
    private String rectificationStateName;

    @ApiModelProperty(name="delayDate",value = "延期日期")
    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date delayDate;

    @ApiModelProperty(name="delayReason",value = "申请延期理由")
    private String delayReason;

    @ApiModelProperty(name="delayState",value = "延期状态,0未申请延期，1提交申请延期，2已延期，3申请延期驳回",required = true)
    private Integer delayState;

    @ApiModelProperty(name="refuseDelayReason",value = "驳回延期理由")
    private String refuseDelayReason;

    @ApiModelProperty(name="confirmPerson",value = "确认人")
    private String confirmPerson;

    @ApiModelProperty(name="confirmPersonName",value = "确认人名称")
    private String confirmPersonName;

    @ApiModelProperty(name="reviewState",value = "验证结果状态，0验证不通过，1验证通过")
    private Integer reviewState;

  public String getHiddenDangerId() {
        return hiddenDangerId;
    }

    public void setHiddenDangerId(String hiddenDangerId) {
        this.hiddenDangerId = hiddenDangerId;
    }

    public String getSolution() {
        return solution;
    }

    public void setSolution(String solution) {
        this.solution = solution;
    }

    public String getRectifier() {
        return rectifier;
    }

    public void setRectifier(String rectifier) {
        this.rectifier = rectifier;
    }

    public String getRectifierName() {
        return rectifierName;
    }

    public void setRectifierName(String rectifierName) {
        this.rectifierName = rectifierName;
    }

    public String getReviewerName() {
        return reviewerName;
    }

    public void setReviewerName(String reviewerName) {
        this.reviewerName = reviewerName;
    }

    public String getReviewer() {
        return reviewer;
    }

    public void setReviewer(String reviewer) {
        this.reviewer = reviewer;
    }

    public Date getDeadline() {
        return deadline;
    }

    public void setDeadline(Date deadline) {
        this.deadline = deadline;
    }

    public String getRectificationResult() {
        return rectificationResult;
    }

    public void setRectificationResult(String rectificationResult) {
        this.rectificationResult = rectificationResult;
    }

    public String getRectificationAttachment() {
        return rectificationAttachment;
    }

    public void setRectificationAttachment(String rectificationAttachment) {
        this.rectificationAttachment = rectificationAttachment;
    }

    public Date getCompleteTime() {
        return completeTime;
    }

    public void setCompleteTime(Date completeTime) {
        this.completeTime = completeTime;
    }

    public String getReviewResult() {
        return reviewResult;
    }

    public void setReviewResult(String reviewResult) {
        this.reviewResult = reviewResult;
    }

    public Date getReviewTime() {
        return reviewTime;
    }

    public void setReviewTime(Date reviewTime) {
        this.reviewTime = reviewTime;
    }

    public String getRectificationState() {
        return rectificationState;
    }

    public void setRectificationState(String rectificationState) {
        this.rectificationState = rectificationState;
    }

    public String getRectificationStateName() {
        return rectificationStateName;
    }

    public void setRectificationStateName(String rectificationStateName) {
        this.rectificationStateName = rectificationStateName;
    }

    public Date getDelayDate() {
        return delayDate;
    }

    public void setDelayDate(Date delayDate) {
        this.delayDate = delayDate;
    }

    public String getDelayReason() {
        return delayReason;
    }

    public void setDelayReason(String delayReason) {
        this.delayReason = delayReason;
    }

    public Integer getDelayState() {
        return delayState;
    }

    public void setDelayState(Integer delayState) {
        this.delayState = delayState;
    }

    public String getRefuseDelayReason() {
        return refuseDelayReason;
    }

    public void setRefuseDelayReason(String refuseDelayReason) {
        this.refuseDelayReason = refuseDelayReason;
    }

    public String getConfirmPerson() {
        return confirmPerson;
    }

    public void setConfirmPerson(String confirmPerson) {
        this.confirmPerson = confirmPerson;
    }

    public String getConfirmPersonName() {
        return confirmPersonName;
    }

    public void setConfirmPersonName(String confirmPersonName) {
        this.confirmPersonName = confirmPersonName;
    }

    public Integer getReviewState() {
        return reviewState;
    }

    public void setReviewState(Integer reviewState) {
        this.reviewState = reviewState;
    }

    public String getSupervisionUnitSignature() {
        return supervisionUnitSignature;
    }

    public void setSupervisionUnitSignature(String supervisionUnitSignature) {
        this.supervisionUnitSignature = supervisionUnitSignature;
    }

    public String getRectificationFileAttachment() {
        return rectificationFileAttachment;
    }

    public void setRectificationFileAttachment(String rectificationFileAttachment) {
        this.rectificationFileAttachment = rectificationFileAttachment;
    }

    public String getRectificationFilePreviewAttachment() {
        return rectificationFilePreviewAttachment;
    }

    public void setRectificationFilePreviewAttachment(String rectificationFilePreviewAttachment) {
        this.rectificationFilePreviewAttachment = rectificationFilePreviewAttachment;
    }

    @Override
    public String toString() {
        return "HiddenDangerRectification{" +
                "hiddenDangerId='" + hiddenDangerId + '\'' +
                ", solution='" + solution + '\'' +
                ", rectifier='" + rectifier + '\'' +
                ", rectifierName='" + rectifierName + '\'' +
                ", reviewer='" + reviewer + '\'' +
                ", reviewerName='" + reviewerName + '\'' +
                ", deadline=" + deadline +
                ", rectificationResult='" + rectificationResult + '\'' +
                ", rectificationAttachment='" + rectificationAttachment + '\'' +
                ", supervisionUnitSignature='" + supervisionUnitSignature + '\'' +
                ", completeTime=" + completeTime +
                ", reviewResult='" + reviewResult + '\'' +
                ", reviewTime=" + reviewTime +
                ", rectificationState='" + rectificationState + '\'' +
                ", rectificationStateName='" + rectificationStateName + '\'' +
                ", delayDate=" + delayDate +
                ", delayReason='" + delayReason + '\'' +
                ", delayState=" + delayState +
                ", refuseDelayReason='" + refuseDelayReason + '\'' +
                ", confirmPerson='" + confirmPerson + '\'' +
                ", confirmPersonName='" + confirmPersonName + '\'' +
                ", reviewState=" + reviewState +
                '}';
    }
}
